package uk.ac.lkl.lpp.model.ldo.event;



import uk.ac.lkl.common.associator.Associator;
import uk.ac.lkl.common.associator.AssociatorHandle;

import uk.ac.lkl.lpp.model.PedagogyPlanModel;


public class AssociatorPedagogyPlanEvent extends PedagogyPlanEvent {

    private AssociatorHandle handle;


    private Associator associator;


    public <S, A, D> AssociatorPedagogyPlanEvent(PedagogyPlanModel plan,
            AssociatorHandle handle, Associator<S, A, D> associator) {
        super(plan);
        this.handle = handle;
        this.associator = associator;
    }


    public Associator<?, ?, ?> getAssociator() {
        return associator;
    }


    public AssociatorHandle getHandle() {
        return handle;
    }


    public String getSourceClassName() {
        return handle.getLeftListClassName();
    }


    public Class<?> getSourceClass() {
        return handle.getLeftListClass();
    }


    public Class<?> getAnnotationClass() {
        return handle.getAnnotationClass();
    }


    public String getDestinationClassName() {
        return handle.getRightListClassName();
    }


    public Class<?> getDestinationClass() {
        return handle.getRightListClass();
    }

}
